package com.meeting.meetingroom_api.dto;

import com.meeting.meetingroom_api.enums.BookingStatus;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

// Typically, bookings are not "updated" in terms of time/room.
// They are cancelled and re-booked. Status updates are common.
@Data
public class BookingUpdateDto {
    // Fields that might be updatable by an admin/employee, e.g., status or notes.
    // For customer, usually only cancellation is allowed.
    private BookingStatus status; // e.g., admin manually confirming or cancelling
    private String equipmentRequired; // Maybe minor changes allowed
    private Integer attendeesCount; // Maybe minor changes allowed

    // These would typically not be changed after creation, but included for completeness if a scenario exists
    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
    private LocalDateTime startDatetime;
    @DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)
    private LocalDateTime endDatetime;
}